home *** CD-ROM | disk | FTP | other *** search
/ Mobiclic 47 / MOBICLIC 47.ISO / mac / DATA / CALEND / calen14.dir / 00004_Script_be_position_Mots < prev    next >
Text File  |  2002-09-19  |  3KB  |  122 lines

  1. --SA--1709-------------
  2.  
  3. property psprite,pRollName, pmember,pPos
  4. property pbase,pLocZ,pRect,pspriteNum,placed
  5.  
  6. global gRect, gListe_Pistes_Occupees
  7.  
  8. -----------------------------------------------------
  9. on beginsprite me
  10.   psprite = sprite(me.spritenum)
  11.   pMember = psprite.member
  12.   pRollNAme = psprite.member.name&" r"
  13.   ------------------------------- 
  14.   pbase =  psprite.loc --position de base
  15.   psprite.moveablesprite = true
  16.   placed =  false
  17. end
  18.  
  19. ------------------------------------------------------
  20. on mouseUp me
  21.   cursor 260
  22.   me.lacher_Mot() 
  23. end
  24.  
  25. --------------------------------------test clic droit de la souris
  26. on rightMouseUp me
  27.   me.lacher_Mot()
  28. end
  29. ----------------------------------------------------
  30. on mouseEnter me
  31.   if placed then 
  32.     cursor 280
  33.   else
  34.     cursor 260
  35.   end if
  36.   psprite.member = member pRollname
  37. end
  38.  
  39. ----------------------------------------------------
  40. on mouseDown me
  41.   jingle(3,"tic","OUT")----------------------- bruitage tic
  42.   if placed then 
  43.     psprite.moveablesprite = false
  44.     cursor 280
  45.   else
  46.     cursor 290
  47.   end if
  48.   psprite.locZ = 60
  49. end
  50.  
  51. ----------------------------------------------------
  52. on mouseLeave me
  53.   cursor -1
  54.   psprite.member = pMember
  55. end
  56.  
  57.  
  58. -----------------------****************************------mΘthodes privΘes
  59. on mTest_position me
  60.   
  61.   pRect = inflate(psprite.rect,-2,-2)    
  62.   repeat with i = 1 to grect.count
  63.     
  64.     if prect.Intersect(gRect[i]) <> rect(0,0,0,0) then   
  65.       
  66.       -------------***** si emplacement occupΘ --****
  67.       if gListe_Pistes_Occupees[i] <> 0 then 
  68.         num = gListe_Pistes_Occupees[i]
  69.         psprite.loc = sprite(num).loc        
  70.         sendsprite(num,#mPositionDeBase)
  71.         me.une_Fois_enPlace(i)
  72.         exit  
  73.       end if -------------------------------------****   
  74.       
  75.       -----------***** placement sur zone vide ---****
  76.       aloch = grect[i].width/2 + grect[i].left
  77.       alocv = grect[i].height/2 + grect[i].top
  78.       psprite.loc = point(aloch,alocV) 
  79.       me.une_Fois_enPlace(i)
  80.       exit  --------------------------------------****           
  81.     else
  82.       psprite.loc = pBase  
  83.     end if       
  84.   end repeat 
  85. end
  86.  
  87. ---------------------------------------------------
  88. on mPositionDeBase me
  89.   -- repositionne  au point de dΘpart
  90.   psprite.loc = pBase
  91.   placed =  false
  92.   psprite.moveablesprite = true
  93.   -- recherche la piste dans la liste et remets la valeur α 0
  94.   index = gListe_Pistes_Occupees.getone(me.spritenum)
  95.   gListe_Pistes_Occupees[index] = 0
  96.   --
  97. end
  98.  
  99. ---------------------------------------------------
  100. on lacher_Mot me  
  101.   -- si le mot est placΘ alors au clic il revient α sa base de dΘpart
  102.   if placed then
  103.     me.mPositionDeBase()
  104.     placed =  false
  105.     exit
  106.   end if
  107.   --sinon on teste la zone d'accueil
  108.   me.mTest_position() 
  109. end
  110.  
  111. ---------------------------------------------------
  112. on une_Fois_enPlace me,j
  113.   gListe_Pistes_Occupees[j] = me.spritenum --enregistrement d'occupation
  114.   psprite.locZ = me.spritenum  -- rΘtablissement du locZ d'origine
  115.   placed = true --flag utilisΘ dans le gestonnaire  **me.lacher_Mot()**  
  116.   jingle(3,"poc","OUT")----------------------- bruitage poc
  117. end
  118.  
  119.  
  120.  
  121.  
  122.